#!/bin/sh

# Stop all init scripts in /etc/init.d
# executing them in reversed numerical order.
#
for i in $(ls -r /etc/init.d/S??*); do
  # Ignore dangling symlinks (if any).
  [ ! -f "$i" ] && continue

  # Omit to stop network for now
  [ "$i" == "/etc/init.d/S40network" ] && continue

  case "$i" in
    *.sh)
      # Source shell script for speed.
      (
        trap - INT QUIT TSTP
        set stop
        . $i
      )
      ;;
    *)
      # No sh extension, so fork subprocess.
      $i stop || true
      ;;
  esac
done
